Termination w.r.t. Q of the following Term Rewriting System could not be shown:
Q restricted rewrite system:
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
Q is empty.
↳ QTRS
↳ Overlay + Local Confluence
Q restricted rewrite system:
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
Q is empty.
The TRS is overlay and locally confluent. By [19] we can switch to innermost.
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
Q restricted rewrite system:
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(f, g)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(cons, app(app(f, h), c))
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(cons, app(f, h)), app(app(map_1, f), t))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(cons, app(app(app(f, g), h), c))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(cons, app(f, h))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(f, g)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(cons, app(app(f, h), c))
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(cons, app(f, h)), app(app(map_1, f), t))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(cons, app(app(app(f, g), h), c))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(cons, app(f, h))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 7 less nodes.
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t) we obtained the following new rules:
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h) we obtained the following new rules:
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c) we obtained the following new rules:
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h) we obtained the following new rules:
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t) we obtained the following new rules:
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c) we obtained the following new rules:
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ UsableRulesProof
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
The TRS R consists of the following rules:
app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ForwardInstantiation
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
R is empty.
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h) we obtained the following new rules:
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
R is empty.
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t) we obtained the following new rules:
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))
R is empty.
The set Q consists of the following terms:
app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))
We have to consider all minimal (P,Q,R)-chains.